<?php
/**
 * Created by PhpStorm.
 * Version :  v1.0.0
 * Date    :  2023/6/8 17:44
 */

namespace App\JsonRpc;


interface TargetServiceInterface
{
    /**
     * 创建上游target
     * date 2023/6/9 9:43
     * @param string $upstream_name 上游名称
     * @param array $data target数据
     * @return array code 0:成功 1：失败，message 提示消息，data: 返回数据
     */
    public function createTarget(string $upstream_name,array $data):array;

    /**
     * 修改上游
     * date 2023/6/8 17:24
     * @param string $upstream 上游名称
     * @param string $target target
     * @param array $data target数据
     * @return array code 0:成功 1：失败，message 提示消息，data: 返回数据
     */
    public function editTarget(string $upstream,string $target,array $data):array;

    /**
     * 获取上游信息
     * date 2023/6/8 14:51
     * @param string $upstream 上游名称
     * @param string $target target
     * @return array code 0:成功 1：失败，message 提示消息，data: 返回数据
     */
    public function getTarget(string $upstream,string $target):array;

    /**
     * 删除target
     * date 2023/6/8 14:51
     * @param string $upstream 上游名称
     * @param string $target target
     * @return array code 0:成功 1：失败，message 提示消息，data: 返回数据
     */
    public function deleteTarget(string $upstream,string $target):array;

    /**
     * 获取本机IP
     * date 2023/6/9 11:38
     * @return mixed
     */
    public function getCurrentIp();
}